package org.example.project.service;

import org.example.project.entity.User;
import org.example.project.util.ResponseData;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

import java.util.List;

/**
 * @author linky
 */
public interface UserService {
    /**
     * 查询全部
     * @return 全部实例
     * */
     List<User> queryAll();

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    User queryById(int id);

    /**
     * 名称模糊查询
     * @param name 用户名
     * @return 符合条件全部数据
     * */
    List<User> queryByName(String name);

    /**
     * 判断是否注册，名称精确查询
     * @param username 用户名
     * @return User
     * */
    User isRegister(String username);

    /**
     * 登录验证
     * @param username 用户名
     * @param password 密码
     * @return User (如果被注册user != null ,== null 则说明没有被注册)
     */
    User toLogin(String username, String password);

    /**
     * 新增数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    User insert(User user);

    /**
     * 修改数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    User update(User user);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(int id);
}
